// 转换安全的数字
$.intval = function (val) {
    return isNaN(parseInt(val)) ? 0 : parseInt(val);
};
// 数组的扩展
// 删除数组项
Array.prototype.remove = function(from, to) {
    var rest = this.slice((to || from) + 1 || this.length);
    this.length = from < 0 ? this.length + from : from;
    return this.push.apply(this, rest);
};
if (!Array.prototype.indexOf) {
    Array.prototype.indexOf = function(item, i) {
        i || (i = 0);
        var length = this.length;
        if (i < 0) 
            i = length + i;
        for (; i < length; i++)
            if (this === item) 
                return i;
        return -1;
    };
}
// 从数组中移除指定项
Array.prototype.removeBy = function(val) {
    var index = this.indexOf(val);
    if (index > -1) {
        this.remove(index);
    }
};
// 添加数组中，若数组中有重复项则不添加
Array.prototype.pushWithoutDuplicate = function(val) {
    if (this.indexOf(val) == -1) {
        this.push(val);
    }
};
/*********************************
 * @author: Tianzhen(uimeet.com)
 *
 * 扩展attrs方法，jquery默认的attr，
 * 在选择器包含多个对象时，只返回第一个元素的属性，
 * 本方法返回所有
 */
$.fn.attrs = function(attr) {
    var atrs = [];
    this.each(function () {
        atrs.push($(this).attr(attr));
    });
    return atrs;
};
